From faf69408ee386b7fdfd5551f1e183e5aeda9d477 Mon Sep 17 00:00:00 2001 From: "iap10@freefall.cl.cam.ac.uk" Date: Tue, 8 Feb 2005 19:52:18 +0000 Subject: [PATCH] bitkeeper revision 1.1159.223.81 (42091872lrObHIRNczDaqDeQw3NmyA) debug memory audit cleanups + comment fix from Jon Mason. Signed-off-by: ian.pratt@cl.cam.ac.uk --- linux-2.6.10-xen-sparse/drivers/xen/netback/netback.c | 8 ++++---- xen/arch/x86/domain.c | 3 +++ xen/arch/x86/memory.c | 9 +++++---- 3 files changed, 12 insertions(+), 8 deletions(-) diff --git a/linux-2.6.10-xen-sparse/drivers/xen/netback/netback.c b/linux-2.6.10-xen-sparse/drivers/xen/netback/netback.c index 05b043c175..6d29cc262f 100644 --- a/linux-2.6.10-xen-sparse/drivers/xen/netback/netback.c +++ b/linux-2.6.10-xen-sparse/drivers/xen/netback/netback.c @@ -1,11 +1,11 @@ /****************************************************************************** - * arch/xen/drivers/netif/backend/main.c + * drivers/xen/netback/netback.c * - * Back-end of the driver for virtual block devices. This portion of the - * driver exports a 'unified' block-device interface that can be accessed + * Back-end of the driver for virtual network devices. This portion of the + * driver exports a 'unified' network-device interface that can be accessed * by any operating system that implements a compatible front end. A * reference front-end implementation can be found in: - * arch/xen/drivers/netif/frontend + * drivers/xen/netfront/netfront.c * * Copyright (c) 2002-2004, K A Fraser */ diff --git a/xen/arch/x86/domain.c b/xen/arch/x86/domain.c index 4ca96f5d3c..e4c427d402 100644 --- a/xen/arch/x86/domain.c +++ b/xen/arch/x86/domain.c @@ -578,8 +578,11 @@ void domain_relinquish_memory(struct domain *d) /* Drop the in-use reference to the page-table base. */ if ( pagetable_val(d->mm.pagetable) != 0 ) + { put_page_and_type(&frame_table[pagetable_val(d->mm.pagetable) >> PAGE_SHIFT]); + d->mm.pagetable = mk_pagetable(0); + } /* * Relinquish GDT mappings. No need for explicit unmapping of the LDT as diff --git a/xen/arch/x86/memory.c b/xen/arch/x86/memory.c index e438ed68b8..8034b67406 100644 --- a/xen/arch/x86/memory.c +++ b/xen/arch/x86/memory.c @@ -2098,8 +2098,8 @@ void audit_domain(struct domain *d) /* PHASE 1 */ - - adjust(&frame_table[pagetable_val(d->mm.pagetable)>>PAGE_SHIFT], -1, 1); + if( pagetable_val(d->mm.pagetable) ) + adjust(&frame_table[pagetable_val(d->mm.pagetable)>>PAGE_SHIFT], -1, 1); list_ent = d->page_list.next; for ( i = 0; (list_ent != &d->page_list); i++ ) @@ -2352,9 +2352,10 @@ void audit_domain(struct domain *d) spin_unlock(&d->page_alloc_lock); - adjust(&frame_table[pagetable_val(d->mm.pagetable)>>PAGE_SHIFT], 1, 1); + if( pagetable_val(d->mm.pagetable) ) + adjust(&frame_table[pagetable_val(d->mm.pagetable)>>PAGE_SHIFT], 1, 1); - printk("Audit %d: Done. ctot=%d ttot=%d\n", d->id, ctot, ttot ); + printk("Audit %d: Done. pages=%d ctot=%d ttot=%d\n", i, d->id, ctot, ttot ); if ( d != current ) domain_unpause(d); -- 2.30.2